#ifndef INSTRUCTION_HPP
#define	INSTRUCTION_HPP
#include "CodeInstruction.hpp"
#include "Operande.hpp"
#include "TableId.hpp"

using namespace std;

class Instruction {

	public:

    	Instruction();

    	Instruction(const Instruction& inst);

    	Instruction(/*string Etiquette,*/
				string Opera, Operande &Resultat, Operande &Arg1,
				Operande &Arg2, TableId &TI);

		/* Not, If etc. */
		Instruction(/*string Etiquette,*/
				string Opera, Operande &Resultat, Operande &Arg1,
				TableId &TI);

    	Instruction(string Opera, int idResult, int idArgument,
				TableId &TI);

    	Instruction(string Etiquette, string Opera);

    	~Instruction();

    	string getOperateur();
    	string getaffichageLigne();

	private:

    	string Etiquette;
    	CodeInstruction *CodeInstr;
    	Operande * Res;
    	Operande * Operan1;
    	Operande * Operan2;
    	string Operateur;
    	string Ligne3adresses;

};

#endif

